package com.zhu.tool_test.callback;

import java.util.List;
import java.util.Optional;

/**
 * 主线是数据入库
 * 入库成功 执行报警操作 和 更新站点状态
 *
 * @program: tool_test
 * @description: 事件回调
 * @author: ggBall
 * @create: 2021-03-05 15:33
 **/
public interface EventCallBack<T> {

    /***
     *
     * @Description: 插入数据
     * @author: ggBall
     * @date 2021/3/5 16:42
     * @Param json: 数据json
     * @return: java.util.Optional<java.util.List<T>>
     * @since 1.0
     */
    Optional<List<T>> insertData(String json);

    /***
     *
     * @Description: 告警操作
     * @author: ggBall
     * @date 2021/3/5 15:52
     *
     * @return: java.util.Optional<java.lang.Object>
     * @since 1.0
     */
    Optional<Object> alarm();

    /***
     *
     * @Description: 站点更新操作
     * @author: ggBall
     * @date 2021/3/5 15:54
     *
     * @return: java.lang.Boolean
     * @since 1.0
     */
    Boolean updateSiteState();

}
